#ifndef __HANDLELOOP_QUEUE_H
#define __HANDLELOOP_QUEUE_H


#define TIME_OUT 30
#define MAX_CONNECTION 100

#include <stdlib.h>
#include <ctype.h>
#include"loop_queue.h"
// 映射结构
typedef struct {
    int netfd_to_slot[TIME_OUT][MAX_CONNECTION]; // 记录netfd所在的时间槽和位置
    int netfd_to_index[MAX_CONNECTION];          // netfd到全局索引的映射
    int index_to_netfd[MAX_CONNECTION];          // 全局索引到netfd的映射
    int next_index;                              // 下一个可用的全局索引
} FdMapping;

void timecheck(LoopQueue_t *time_queue);
int updateNetfdPosition(LoopQueue_t *time_queue, int netfd);
void findPositionByNetfd(int netfd, int *time_slot, int *slot_index);
int handleNewClient(LoopQueue_t *time_queue, int netfd);
LoopQueue_t* LoopQueueEpollInit() ;
void initFdMapping();






#endif
